<h2>if</h2>


继续上次的程序。我们已经能让程序程序判断我们输入的值了，但这程序还是有点呆，不管怎样都要把话说三遍。因为到目前为止，我们的程序都是按照顺序从上到下一行接一行地执行。有同学发来问题了：怎么能让它根据我们输入的结果来选择执行呢？
答案就是： if
 
if，英文翻译过来就是 如果。
来看一张图（纯手绘，渣画质）

解释一下：程序顺序往下执行遇到 if 语句的时候，会去判断它所带条件的真假。
 
“如果”条件为True，就会去执行接下来的内容。“如果”条件为False，就跳过。
 
语法为：
if 条件:
    选择执行的语句
 
特别说明：条件后面的冒号不能少，同样必须是英文标点。
特别特别说明：if 内部的语句需要有一个统一的缩进（就是指每一行开头的空格），一般用4个空格。缩进表示这些代码属于这个 if 条件内部，是一个“代码块”。python用这种方法替代了其他很多编程语言中的大括号{}。
你也可以选择1/2/3...个空格或者按一下tab键，但必须整个文件中都统一起来。千万不可以tab和空格混用，不然就会出现各种莫名其妙的错误。所以建议都直接用4个空格。
如果 if 中的代码块又再包含一个 if，那就需要再进一步缩进一次。一个代码中的缩进需要统一，比如每次都是增加4个空格。
 
上栗子：
# coding: gbk
age = int(input())
if age >= 18:
    print("你是个成年人了！")
 
注意1：这里的代码请新建一个代码文件后，在其中编写并运行，否则无法换行及缩进（参见之前 IDE 课中的说明）
注意2：由于代码中有中文，所以我们在开头加上了一行编码申明（同样参见之前 IDE 课中的说明）
 
试试看：当你输入一个大于等于18的数字时就会有输出，否则什么也没有。想想是为什么？
 
所以现在，我们的游戏可以这样改写：
num = 10
print ('Guess what I think?')
answer = int(input())
if answer<num:
    print ('too small!')
if answer>num:
    print ('too big!')
if answer==num:
    print ('BINGO!')
 

 
if 在编程语言中被称为“控制流语句”，用来控制程序的执行顺序。还有其他的控制流语句，后面的课程中我们会陆续介绍。
 
#======== 课后作业 ========#
 
有不少同学强烈要求布置作业。好吧，满足你们。还记得之前那个“你觉得我是什么人？(Who do you think I am)”的程序吧？（不记得的请戳 4. 输入）
改写一下，只有你回答某些好话的时候，程序才会回复 “Oh yes”，其他都不理你。甚至说某些词的时候，它还要反驳你。
至于用哪些词哪些条件，你们自己设定吧。
 
#======== 课外的话 ========#
 
学会了if，有一个好处，就是你能听懂下面这个笑话了：
 
老婆给当程序员的老公打电话：“下班顺路买一斤包子带回来，如果看到卖西瓜的，就买一个。”
当晚，程序员老公手捧一个包子进了家门……
老婆怒道：“你怎么就买了一个包子？！”
老公答曰：“因为看到了卖西瓜的。”
 

